home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-02-12 | 16.0 KB | 1,188 lines |
- \tlxi h,0
- ^\tpush h
- ^\tlxi h,0
- ^\tpush h
- %
- \tlxi h,0
- \tpush h
- \tpush h\t ; ** remove lxi h,0
- %%
- \tmov h,b
- ^\tmov l,c
- ^\tmov h,b
- ^\tmov l,c
- %
- \tmov h,b
- \tmov l,c\t ; ** remove mov hl,bc
- %%
- \tmov h,b
- ^\tmov l,c
- ^\tinx h
- ^\tmov b,h
- ^\tmov c,l
- %
- \tinx b
- \tmov h,b
- \tmov l,c\t ; ** simplify bc++
- %%
- \tmov h,b
- ^\tmov l,c
- ^\tdcx h
- ^\tmov b,h
- ^\tmov c,l
- %
- \tdcx b
- \tmov h,b
- \tmov l,c\t ; ** simplify bc--
- %%
- \tdb 221,229
- ^\tpop h
- ^\tdad h
- ^\tpush h
- ^\tdb 221,225
- %
- \tdb 0ddh,029h
- \tdb 0ddh,0e5h
- \tpop h \t ; ** simplify ix<<1
- %%
- \tdb 253,229
- ^\tpop h
- ^\tdad h
- ^\tpush h
- ^\tdb 253,225
- %
- \tdb 0fdh,029h
- \tdb 0fdh,0e5h
- \tpop h \t ; ** simplify iy<<1
- %%
- \tdb 221,229
- ^\tpop h
- ^\tinx h
- ^\tpush h
- ^\tdb 221,225
- %
- \tdb 0ddh,023h
- \tdb 0ddh,0e5h
- \tpop h \t ; ** simplify ix++
- %%
- \tdb 253,229
- ^\tpop h
- ^\tinx h
- ^\tpush h
- ^\tdb 253,225
- %
- \tdb 0fdh,023h
- \tdb 0fdh,0e5h
- \tpop h \t ; ** simplify iy++
- %%
- \tdb 221,229
- ^\tpop h
- ^\tdcx h
- ^\tpush h
- ^\tdb 221,225
- %
- \tdb 0ddh,02bh
- \tdb 0ddh,0e5h
- \tpop h \t ; ** simplify ix--
- %%
- \tdb 253,229
- ^\tpop h
- ^\tdcx h
- ^\tpush h
- ^\tdb 253,225
- %
- \tdb 0fdh,02bh
- \tdb 0fdh,0e5h
- \tpop h \t ; ** simplify iy--
- %%
- \tsta \([\.a-zA-Z_][\._a-zA-Z0-9+\-]*\)
- ^\tlda \1
- %
- \tsta \1\t; ** redundant reload removed
- %%
- \tmov l,a
- ^\tmov a,l
- %
- \tmov l,a\t; ** redundant register load removed
- %%
- shld \([\.a-zA-Z_][\._a-zA-Z0-9+\-]*\)
- ^\tlhld \1
- %
- shld \1\t; ** redundant lhld deleted
- %%
- \tmov a,h
- ^\tora l
- \tjnz \([\.a-zA-Z_][\._a-zA-Z0-9]*\)
- ^\tlxi h,0
- %
- \tmov a,h
- \tora l
- \tjnz \1\t; ** lxi h,0 removed inline test.
- %%
- \txchg
- ^\tinx h
- ^\tinx h
- ^\txchg
- %
- \tinx d
- \tinx d \t ; ** inx d not inx h
- %%
- \tmov h,b
- ^\tmov l,c
- ^\tmov a,h
- ^\tora l
- %
- \tmov a,b\t ; warning - no load hl !!!
- \tora c\t ; ** check bc directly
- %%
- \tlxi h,\(.*\)
- ^\tpush h
- ^\tdb 221,225
- %
- \tdb 0ddh, 021h\t ; warning no load HL
- \tdw \1 \t ; ** simpler ix load
- %%
- \tlxi h,\(.*\)
- ^\tpush h
- ^\tdb 253,225
- %
- \tdb 0fdh, 021h\t ; warning no load HL
- \tdw \1 \t ; ** simpler iy load
- %%
- \tlxi h,\(.*\)
- ^\tmov b,h
- ^\tmov c,l
- ^\tLXI H,\(.*\)
- %
- \tlxi b,\1
- \tlxi h,\2\t ; ** remove mov from hl
- %%
- \tmov h,b
- ^\tmov l,c
- ^\tlhld \(.*\)
- %
- \tlhld \1\t ; ** remove load to hl
- %%
- \tmov h,b
- ^\tmov l,c
- ^\tlxi h,\(.*\)
- %
- \tlxi h,\1\t ; ** remove move of BC to HL
- %%
- \tmov h,b
- ^\tmov l,c
- ^\(\..*\)
- ^\tlhld \(.*\)
- %
- \1
- \tlhld \2\t ; ** remove move of bc to lh 2
- %%
- \tmov h,m
- ^\tmov l,a
- ^\tdcx h
- ^\txchg
- ^\tpop h
- %
- \tmov d,m
- \tmov e,a
- \tdcx d
- \tpop h \t ; ** remove xchg 0
- %%
- \tmov h,b
- ^\tmov l,c
- ^\txchg
- ^\tlxi h,\(.*\)
- %
- \tmov d,b
- \tmov e,c
- \tlxi h,\1\t ; ** remove xchg 1
- %%
- \tlxi h,\(.*\)
- ^\txchg
- ^\tlxi h,\(.*\)
- %
- \tlxi d,\1
- \tlxi h,\2\t ; ** remove xchg 2
- %%
- \tlxi h,\(.*\)
- ^\tmov d,b
- ^\tmov e,c
- ^\txchg
- %
- \tlxi d,\1
- \tmov h,b
- \tmov l,c\t ; ** remove xchg 3
- %%
- \tmov l,a
- ^\tmvi h,0
- ^\tlxi d,\(.*\)
- ^\txchg
- %
- \tmov e,a
- \tmvi d,0
- \tlxi h,\1\t ; ** remove xchg 4
- %%
- \tmov h,b
- ^\tmov l,c
- ^\tlxi d,\(.*\)
- ^\txchg
- %
- \tmov d,b
- \tmov e,c
- \tlxi h,\1\t ; ** remove xchg 5
- %%
- \tmov h,b
- ^\tmov l,c
- ^\tpush h
- ^\tlhld \(.*\)
- %
- \tpush b
- \tlhld \1\t ; ** push bc itself
- %%
- \tmov e,m
- ^\txchg
- ^\tmov a,l
- ^\tsta \(.*\)
- %
- \tmov a,m\t ; ** warning corrupts de,hl
- \tsta \1\t ; ** simpler 8 bit store
- %%
- \tdb 221,110,\([0-9]*\)
- ^\tdb 221,102,\([0-9]*\)
- ^\tpush h
- ^\tdb 221,110,\([0-9]*\)
- ^\tdb 221,102,\([0-9]*\)
- ^\tpop d
- ^\txchg
- %
- \tdb 221,110,\1
- \tdb 221,102,\2
- \tdb 221,05eh,\3
- \tdb 221,056h,\4\t ; ** load hl/de from (ix)
- %%
- \tdb 253,110,\([0-9]*\)
- ^\tdb 253,102,\([0-9]*\)
- ^\tpush h
- ^\tdb 253,110,\([0-9]*\)
- ^\tdb 253,102,\([0-9]*\)
- ^\tpop d
- ^\txchg
- %
- \tdb 253,110,\1
- \tdb 253,102,\2
- \tdb 253,05eh,\3
- \tdb 253,056h,\4\t ; ** load hl/de from (iy)
- %%
- \tdb 253,05eh,\([0-9]*\)
- ^\tdb 253,056h,\([0-9]*\)
- ^\tdb 253,110,\([0-9]*\)
- ^\tdb 253,102,\([0-9]*\)
- ^\txchg
- %
- \tdb 253,110,\1
- \tdb 253,102,\2
- \tdb 253,05eh,\3
- \tdb 253,056h,\4\t ; ** load hl/de from (iy) 2
- %%
- \tdb 221,05eh,\([0-9]*\)
- ^\tdb 221,056h,\([0-9]*\)
- ^\tdb 221,110,\([0-9]*\)
- ^\tdb 221,102,\([0-9]*\)
- ^\txchg
- %
- \tdb 221,110,\1
- \tdb 221,102,\2
- \tdb 221,05eh,\3
- \tdb 221,056h,\4\t ; ** load hl/de from (ix) 2
- %%
- \tlxi h,\(.*\)
- ^\tpush h
- ^\tlhld \(.*\)
- ^\tlxi d,\([0-9]*\)
- ^\tdad d
- ^\tpop d
- %
- \tlhld \2
- \tlxi d,\3
- \tdad d
- \tlxi d,\1\t ; ** simpler load order
- %%
- \tmov l,a
- ^\tmvi h,0
- ^\tlxi d,\([\-0-9]*\)
- ^\tcall \.an
- %
- \tmvi h,0
- \tani \1\t ; ** warning no set de
- \tmov l,a\t ; ** remove call to .an
- %%
- \tmvi h,0
- ^\tlxi d,\([0-9]*\)
- ^\tcall \.an
- %
- \tmvi h,0
- \tmov a,l
- \tani \1\t ; ** warning no set de
- \tmov l,a\t ; ** remove call to .an 2
- %%
- \tlxi d,255
- ^\tcall \.an
- %
- \tmvi h,0
- \tmov a,l\t ; ** warning no set de
- \tora a \t ; ** simplify .an 3
- %%
- \tmov e,m
- ^\tmvi d,0
- ^\tlxi h,\([\-0-9]*\)
- ^\tcall \.an
- %
- \tmov a,m
- \tmvi h,0
- \tani \1\t ; ** warning no set de
- \tmov l,a\t ; ** simplify .an 4
- %%
- \tpop h
- ^\tlxi d,\(.*\)
- ^\txchg
- %
- \tpop d
- \tlxi h,\1\t ; ** remove xchg 6
- %%
- \tlda \(.*\)
- ^\tmov l,a
- ^\tpush h
- ^\tlhld \(.*\)
- ^\tinx h
- ^\tpop d
- ^\tmov m,e
- %
- \tlhld \2
- \tinx h
- \tlda \1\t ; ** warning no set de
- \tmov m,a\t ; ** simpler char (store)
- %%
- \tlda \(.*\)
- ^\tmov l,a
- ^\tpush h
- ^\tlhld \(.*\)
- ^\tinx h
- ^\tinx h
- ^\tinx h
- ^\tpop d
- ^\tmov m,e
- %
- \tlhld \2
- \tinx h
- \tinx h
- \tinx h
- \tlda \1\t ; ** warning no set de
- \tmov m,a\t ; ** simpler char (store) 2
- %%
- \txchg
- ^\tinx h
- ^\txchg
- %
- \tinx d \t ; ** simplify de++
- %%
- \txchg
- ^\tdcx h
- ^\txchg
- %
- \tdcx d \t ; ** simplify de--
- %%
- \tmov a,l
- ^\tsta \(.*\)
- ^\tmov a,l
- %
- \tmov a,l
- \tsta \1\t ; ** remove mov a,l
- %%
- \tmov l,a
- ^\tmvi h,0
- ^\tpop d
- ^\txchg
- %
- \tmov e,a
- \tmvi d,0
- \tpop h\t ; ** remove xchg 7
- %%
- \tlxi h,\(.*\)
- ^\tmov b,h
- ^\tmov c,l
- ^\tlhld \(.*\)
- %
- \tlxi b,\1
- \tlhld \2\t ; ** remove mov bc,hl
- %%
- \tpop h
- ^\txchg
- ^\tlxi h,\(.*\)
- %
- \tpop d
- \tlxi h,\1\t ; ** remove xchg 8
- %%
- \tdb 0ddh,023h
- ^\tdb 0ddh,0e5h
- ^\tpop h
- ^\tdb 253,110,\([0-9]*\)
- ^\tdb 253,102,\([0-9]*\)
- %
- \tdb 0ddh,023h
- \tdb 253,110,\1
- \tdb 253,102,\2\t ; remove mov ix->hl
- %%
- \tdb 0ddh, 0e5h
- ^\tpop h
- ^\tlhld \(.*\)
- %
- \tlhld \1\t ; remove load of HL
- %%
- \tdb 0ddh, 0e5h
- ^\tpop h
- ^\tlxi h,\(.*\)
- %
- \tlxi h,\1\t ; remove load of HL 2
- %%
- \tdb 0fdh, 0e5h
- ^\tpop h
- ^\tlhld \(.*\)
- %
- \tlhld \1\t ; remove load of HL 3
- %%
- \tdb 0fdh, 0e5h
- ^\tpop h
- ^\tlxi h,\(.*\)
- %
- \tlxi h,\1\t ; remove load of HL 4
- %%
- \tmov b,h
- ^\tmov c,l
- ^\tmov a,h
- ^\tora l
- ^\tjz \(\..*\)
- ^\tmov h,b
- ^\tmov l,c
- %
- \tmov b,h
- \tmov c,l
- \tmov a,h
- \tora l
- \tjz \1 \t ; ** remove xfer bc->hl
- %%
- \tmvi h,0
- ^\tmvi h,0
- %
- \tmvi h,0\t ; ** remove mvi h,0
- %%
- \tlxi h,0
- ^\tshld \(.*\)
- ^\tlxi h,0
- %
- \tlxi h,0
- \tshld \1\t ; ** remove lxi h,0
- %%
- \tpush h
- ^\tlxi h,\(.*\)
- ^\tpop d
- ^\txchg
- %
- \tlxi d,\1\t ; ** lxi d simpler
- %%
- \tpop h
- ^\tmov b,h
- ^\tmov c,l
- ^\tlxi h,\(.*\)
- %
- \tpop b
- \tlxi h,\1\t ; ** simplify pop b
- %%
- \tmov a,m
- ^\tinx h
- ^\tmov h,m
- ^\tmov l,a
- ^\tinx h
- ^\txchg
- ^\tpop h
- %
- \tmov e,m
- \tinx h
- \tmov d,m
- \tinx d
- \tpop h\t ; ** simplify moves via hl to de
- %%
- \tani 255
- %
- \tora a\t ; ** simplify ani 255
- %%
- \tpush h
- ^\tmov l,m
- ^\tinx h
- ^\txchg
- ^\tpop h
- ^\tmov m,e
- %
- \tmov e,m
- \tinx d
- \tmov m,e\t ; ** simplify ( char )++
- %%
- \tlda \(.*\)
- ^\tmov l,a
- ^\tinx h
- ^\tmov a,l
- ^\tsta \(.*\)
- ^\tlxi h,\(.*\)
- %
- \tlda \1
- \tinr a
- \tsta \2
- \tlxi h,\3\t ; ** simpler 8 bit direct ++
- %%
- \tlxi h,\(.*\)
- ^\tpush h
- ^\tlhld \(.*\)
- ^\tpop d
- %
- \tlxi d,\1
- \tlhld \2\t ; ** remove xchg 9
- %%
- \tpush h
- ^\tlda \(.*\)
- ^\tmov e,a
- ^\tmvi d,0
- ^\tpop h
- %
- \tlda \1
- \tmov e,a
- \tmvi d,0\t ; ** simpler 8 bit load de
- %%
- \tdb 253,110,\(.*\)
- ^\tdb 253,102,\(.*\)
- ^\tpush h
- ^\tdb 253,110,\(.*\)
- ^\tdb 253,102,\(.*\)
- ^\tpop d
- %
- \tdb 253,05eh,\1
- \tdb 253,056h,\2
- \tdb 253,110,\3
- \tdb 253,102,\4\t ; ** simpler load hl,de from iy
- %%
- \tdb 221,110,\(.*\)
- ^\tdb 221,102,\(.*\)
- ^\tpush h
- ^\tdb 221,110,\(.*\)
- ^\tdb 221,102,\(.*\)
- ^\tpop d
- %
- \tdb 221,05eh,\1
- \tdb 221,056h,\2
- \tdb 221,110,\3
- \tdb 221,102,\4\t ; ** simpler load de,hl from ix
- %%
- \tmov a,m
- ^\tinx h
- ^\tmov d,m
- ^\tmov e,a
- %
- \tmov e,m
- \tinx h\t ; ** warning no load of A
- \tmov d,m\t ; ** simpler load de
- %%
- \tmov h,b
- ^\tmov l,c
- ^\(\..*\)
- ^\tmov h,b
- ^\tmov l,c
- %
- \1
- \tmov h,b
- \tmov l,c\t ; ** remove load bc to hl
- %%
- \tmov h,b
- ^\tmov l,c
- ^\txchg
- ^\tlhld \(.*\)
- %
- \tmov d,b
- \tmov e,c
- \tlhld \1\t ; ** remove xchg 10
- %%
- \tmov h,b
- ^\tmov l,c
- ^\tmov d,b
- ^\tmov e,c
- ^\tlxi h,\(.*\)
- %
- \tmov d,b
- \tmov e,c
- \tlxi h,\1\t ; ** remove bc to hl again
- %%
- \tLXI H,\(.*\)
- ^\txchg
- ^\tlxi h,\(.*\)
- %
- \tlxi d,\1
- \tlxi h,\2\t ; ** remove xchg 11
- %%
- \tdb 221,110,\(.*\)
- ^\tdb 221,102,\(.*\)
- ^\tpop d
- ^\txchg
- %
- \tdb 221,05eh,\1
- \tdb 221,056h,\2
- \tpop h\t ; ** remove xchg 12
- %%
- \tdb 253,110,\(.*\)
- ^\tdb 253,102,\(.*\)
- ^\tpop d
- ^\txchg
- %
- \tdb 253,05eh,\1
- \tdb 253,056h,\2
- \tpop h\t ; ** remove xchg 13
- %%
- \tdb 221,110,\(.*\)
- ^\tdb 221,102,\(.*\)
- ^\txchg
- ^\tlxi h,\(.*\)
- %
- \tdb 221,05eh,\1
- \tdb 221,056h,\2
- \tlxi h,\3\t ; ** remove xchg 14
- %%
- \tdb 253,110,\(.*\)
- ^\tdb 253,102,\(.*\)
- ^\txchg
- ^\tlxi h,\(.*\)
- %
- \tdb 253,05eh,\1
- \tdb 253,056h,\2
- \tlxi h,\3\t ; ** remove xchg 15
- %%
- \tdb 0ddh,0e5h
- ^\tpop h
- ^\tlhld \(.*\)
- %
- \tlhld \1\t ; ** remove load hl 5
- %%
- \tdb 0fdh,0e5h
- ^\tpop h
- ^\tlhld \(.*\)
- %
- \tlhld \1\t ; ** remove load hl 6
- %%
- \tdb 0ddh,0e5h
- ^\tpop h
- ^\tlxi[ \t]h,\(.*\)
- %
- \tlxi h,\1\t ; ** remove load hl 7
- %%
- \tdb 0fdh,0e5h
- ^\tpop h
- ^\tlxi[ \t]h,\(.*\)
- %
- \tlxi h,\1\t ; ** remove load hl 8
- %%
- \tdb 0ddh,0e5h
- ^\tpop h
- ^\(\..*\)
- ^\tlxi[ \t]h,\(.*\)
- %
- \1
- \tlxi h,\2\t ; ** remove load hl 9
- %%
- \tpush d
- ^\tdb 221,05eh,\(.*\)
- ^\tdb 221,056h,\(.*\)
- ^\tpop h
- %
- \txchg
- \tdb 221,05eh,\1
- \tdb 221,056h,\2\t ; ** simplify indr load hl & de
- %%
- \tpush h
- ^\tdb 221,225
- ^\tdb 221,229
- ^\tpop d
- ^\tlxi h,\(.*\)
- %
- \tpush h
- \tdb 221,225
- \txchg
- \tlxi h,\1\t ; ** simplify load of de from ix
- %%
- \tmvi h,0
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjnz \(.*\)
- %
- \tmov a,l
- \tcpi \1
- \tjz \2\t ; ** warning does not set hl !!
- %%
- \tmvi h,0
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjz \(.*\)
- %
- \tmov a,l
- \tcpi \1
- \tjnz \2\t ; ** warning does not set hl !!
- %%
- \tmvi h,0
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjnz \(.*\)
- %
- \tmov a,l
- \tcpi \1
- \tjnz \2\t ; ** warning does not set hl !!
- %%
- \tmvi h,0
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjz \(.*\)
- %
- \tmov a,l
- \tcpi \1
- \tjz \2\t ; ** warning does not set hl !!
- %%
- \tmov e,m
- ^\tmvi d,0
- ^\tlxi h,\(.*\)
- ^\tcall \.eq
- ^\tjnz \(.*\)
- %
- \tmov a,m
- \tcpi \1
- \tjz \2\t ; ** warning does not set hl !!
- %%
- \tmov e,m
- ^\tmvi d,0
- ^\tlxi h,\(.*\)
- ^\tcall \.eq
- ^\tjz \(.*\)
- %
- \tmov a,m
- \tcpi \1
- \tjnz \2\t ; ** warning does not set hl !!
- %%
- \tmov e,m
- ^\tmvi d,0
- ^\tlxi h,\(.*\)
- ^\tcall \.ne
- ^\tjnz \(.*\)
- %
- \tmov a,m
- \tcpi \1
- \tjnz \2\t ; ** warning does not set hl !!
- %%
- \tmov e,m
- ^\tmvi d,0
- ^\tlxi h,\(.*\)
- ^\tcall \.ne
- ^\tjz \(.*\)
- %
- \tmov a,m
- \tcpi \1
- \tjz \2\t ; ** warning does not set hl !!
- %%
- \tmvi h,0
- ^\tmov a,l
- ^\tora a
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjz \(.*\)
- %
- \tmov a,l
- \tcpi \1
- \tjnz \2\t ; *** mega crush 1
- %%
- \tmvi h,0
- ^\tmov a,l
- ^\tora a
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjnz \(.*\)
- %
- \tmov a,l
- \tcpi \1
- \tjz \2\t ; *** mega crush 2
- %%
- \tmvi h,0
- ^\tmov a,l
- ^\tora a
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjz \(.*\)
- %
- \tmov a,l
- \tcpi \1
- \tjz \2\t ; *** mega crush 3
- %%
- \tmvi h,0
- ^\tmov a,l
- ^\tora a
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjnz \(.*\)
- %
- \tmov a,l
- \tcpi \1
- \tjnz \2\t ; *** mega crush 4
- %%
- \tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjz \(.*\)
- %
- \tani \1
- \tcpi \2
- \tjnz \3\t ; *** mega crush 5
- %%
- \tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjnz \(.*\)
- %
- \tani \1
- \tcpi \2
- \tjz \3\t ; *** mega crush 6
- %%
- \tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjz \(.*\)
- %
- \tani \1
- \tcpi \2
- \tjz \3\t ; *** mega crush 7
- %%
- \tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjnz \(.*\)
- %
- \tani \1
- \tcpi \2
- \tjnz \3\t ; *** mega crush 8
- %%
- \tmvi h,0
- ^\tora a
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjz \(.*\)
- %
- \tcpi \1
- \tjz \2\t ; *** mega crush 9
- %%
- \tmvi h,0
- ^\tora a
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjnz \(.*\)
- %
- \tcpi \1
- \tjnz \2\t ; *** mega crush 10
- %%
- \tmvi h,0
- ^\tora a
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjz \(.*\)
- %
- \tcpi \1
- \tjnz \2\t ; *** mega crush 11
- %%
- \tmvi h,0
- ^\tora a
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjnz \(.*\)
- %
- \tcpi \1
- \tjz \2\t ; *** mega crush 12
- %%
- \tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tjz \(.*\)
- %
- \tani \1
- \tjz \2\t ; *** warning no load hl 1
- %%
- \tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tjnz \(.*\)
- %
- \tani \1
- \tjnz \2\t ; *** warning no load hl 2
- %%
- \tlda \(.*\)
- ^\tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjz \(.*\)
- %
- \tlda \1
- \tani \2
- \tcpi \3
- \tjnz \4\t ; *** mega crush 13
- %%
- \tlda \(.*\)
- ^\tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.eq
- ^\tjnz \(.*\)
- %
- \tlda \1
- \tani \2
- \tcpi \3
- \tjz \4\t ; *** mega crush 14
- %%
- \tlda \(.*\)
- ^\tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjz \(.*\)
- %
- \tlda \1
- \tani \2
- \tcpi \3
- \tjz \4\t ; *** mega crush 15
- %%
- \tlda \(.*\)
- ^\tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tlxi d,\(.*\)
- ^\tcall \.ne
- ^\tjnz \(.*\)
- %
- \tlda \1
- \tani \2
- \tcpi \3
- \tjnz \4\t ; *** mega crush 16
- %%
- \tmvi h,0
- ^\tmov a,l
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tjz \(.*\)
- %
- \tmov a,l
- \tani \1
- \tjz \2\t ; ** mega crush 17
- %%
- \tmvi h,0
- ^\tmov a,l
- ^\tani \(.*\)
- ^\tmov l,a
- ^\tjnz \(.*\)
- %
- \tmov a,l
- \tani \1
- \tjnz \2\t ; ** mega crush 18
- %%
- \tjnz \(.*\)
- ^\tjmp \(.*\)
- ^\1:
- %
- \tjz \2\t ; ** jump around jump
- \1:
- %%
- \tjz \(.*\)
- ^\tjmp \(.*\)
- ^\1:
- %
- \tjnz \2\t ; ** jump around jump 2
- \1:
- %%
- \tmov l,a
- ^\tcpi \(.*\)
- ^\tjz \(.*\)
- %
- \tcpi \1
- \tjz \2\t ; ** mov l,a
- %%
- \tmov l,a
- ^\tcpi \(.*\)
- ^\tjnz \(.*\)
- %
- \tcpi \1
- \tjnz \2\t ; *** mov l,a 2
- %%
- \tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\txchg
- ^\tlxi h,\(.*\)
- %
- \tmvi d,0
- \tani \1
- \tmov e,a
- \tlxi h,\2\t ; ** remove xchg 16
- %%
- \tmvi h,0
- ^\tani \(.*\)
- ^\tmov l,a
- ^\txchg
- ^\tlhld \(.*\)
- %
- \tmvi d,0
- \tani \1
- \tmov e,a
- \tlhld \2\t ; ** remove xchg 17
- %%
- \tlxi h,0
- ^\tmov a,l
- ^\tsta \(.*\)
- ^\tlhld \(.*\)
- %
- \txra a
- \tsta \1
- \tlhld \2\t ; ** don't clear hl 1
- %%
- \tlxi h,0
- ^\tmov a,l
- ^\tsta \(.*\)
- ^\tsta \(.*\)
- ^\tlhld \(.*\)
- %
- \txra a
- \tsta \1
- \tsta \2
- \tlhld \3\t ; ** don't clear hl 2
- %%
- \tlxi h,0
- ^\tmov a,l
- ^\tsta \(.*\)
- ^\tlxi h,\(.*\)
- %
- \txra a
- \tsta \1
- \tlxi h,\2\t ; ** don't clear hl 3
- %%
- \tlxi h,0
- ^\tmov a,l
- ^\tsta \(.*\)
- ^\tsta \(.*\)
- ^\tlxi h,\(.*\)
- %
- \txra a
- \tsta \1
- \tsta \2
- \tlxi h,\3\t ; ** don't clear hl 4
- %%
- \tmvi h,0
- ^\tshld \(.*\)
- ^\tlda \(.*\)
- ^\tmov l,a
- ^\tmvi h,0
- %
- \tmvi h,0
- \tshld \1
- \tlda \2
- \tmov l,a\t; *** remove following unnecessary load
- ;\tmvi h,0
- %%
- \tcall \.eq
- %
- \tdb 0f7h\t; rst 30 instead of call .eq
- %%
- \tcall \.ne
- %
- \tdb 0d7h\t; rst 10h instead of call .ne
- %%
- \tcall \.ug
- %
- \tdb 0e7h\t; rst 20h instead of call .ug
- %%
- \tcall \.sb
- %
- \tdb 0efh\t; rst 28h instead of call .sb
- %%
- \tcall \.an
- %
- \tdb 0cfh\t; rst 8h instead of call .an
- %%
- \tcall \.ul
- %
- \txchg
- \tdb 0e7h\t; rst 20h ex de,hl and restart instead of call .ul
- %%
- \txchg
- ^\txchg
- %
- ;\t\tremove double exchange
- %%
- \tpop d
- ^\tlxi h,\(.*\)
- ^\txchg
- %
- \tpop h
- \tlxi d,\1\t; *** yet another xchg !
- %%
- \tmov d,b
- ^\tmov e,c
- ^\tlxi h,\(.*\)
- ^\txchg
- %
- \tmov h,b
- \tmov l,c
- \tlxi d,\1\t; *** yet another another xchg !
- %%
- \tlxi d,0
- ^\tmov m,e
- ^\tmvi d,0
- %
- \tlxi d,0
- \tmov m,e\t; *** D already clear.
- %%
- \tlxi h,\(.*\)
- ^\tmov a,l
- ^\tsta \(.*\)
- ^\tlxi h,\(.*\)
- %
- \tmvi a,\1
- \tsta \2\t\t; *** simpler 8 bit store
- \tlxi h,\3
- %%
- \tmvi h,0
- ^\tshld \(.*\)
- ^\tlda \(.*\)
- ^\tmov l,a
- ^\tmvi h,0
- %
- \tmvi h,0
- \tshld \1
- \tlda \2
- \tmov l,a\t; *** remove following unnecessary load ( dummy end )
- ;\tmvi h,0
- %%